Vibrotactile driver circuit for haptic devices

ABSTRACT

A haptic device comprises a wearable material configured to a portion of a user. A vibrotactile actuator is coupled to the wearable material and provides haptic feedback in accordance with a drive signal. A driver circuit is electrically coupled to the vibrotactile actuator and provides the drive signal to the vibrotactile actuator. The driver circuit includes an alternating current (AC) voltage source assembly that has a first AC voltage source and a second AC voltage source, each having a terminal. The terminal of the first AC voltage source is electrically coupled to the vibrotactile actuator. A capacitive element electrically is coupled to the terminal of the negative AC voltage source and a regulating element. The regulating element includes a first coupling point and a second coupling point. The first coupling point is electrically coupled to the capacitive element and the vibrotactile actuator, and the second coupling point is grounded.

BACKGROUND

The present disclosure generally relates to a system for haptic feedbackto a user, and specifically to a vibrotactile driver circuit for hapticdevices. Virtual reality (VR) is a simulated environment created bycomputer technology and presented to a user, such as through a system.Some systems include haptic devices that use vibrotactile actuators toprovide haptic feedback. Haptic feedback is, in essence, feeling sounds,whether it is the buzz of a cellphone or the rumble of a gamecontroller. Haptic feedback is commonly implemented in VR systems,adding the sense of touch to previously visual-only interfaces. However,conventional driver circuits for vibrotactile actuators are unipolar andtypically generate a 200V peak-to-peak voltage from a single voltagesource, which can be potentially dangerous to users. It is desirable touse an integrated circuit to reduce size and cost, but it is alsosubstantially more difficult to build an integrated circuit that candrive to 200V.

SUMMARY

To provide a more immersive experience in an artificial reality system,a haptic glove (or some other wearable haptic device) may apply a forceto a user's hand to simulate a user's interaction with a virtual object.For example, the system may detect that a user is touching a virtualobject, and generate haptic feedback associated with the interactionwith the virtual object. The haptic feedback may be generated using oneor more vibrotactile actuators.

Embodiments relate to a driver circuit for a vibrotactile actuator. Avibrotactile actuator is coupled to a wearable material and provideshaptic feedback in accordance with a drive signal. The driver circuit iselectrically coupled to the vibrotactile actuator and provides the drivesignal to the vibrotactile actuator. The driver circuit includes analternating current (AC) voltage assembly that includes a first ACvoltage source and a second AC voltage source, each having a terminal.The terminal of the first AC voltage source is electrically coupled to avibrotactile actuator, a capacitive element electrically coupled to theterminal of the second AC voltage source, and a regulating element thatincludes a first coupling point and a second coupling point, the firstcoupling point is electrically coupled to the capacitive element and thevibrotactile actuator, and the second coupling point is grounded,wherein the driver circuit is configured to provide a drive signal tothe vibrotactile actuator. The first AC voltage source is a positivevoltage source and the second AC voltage source is a negative voltagesource. The first AC voltage source is 180 degrees out of phase with thesecond AC voltage source. In embodiments where the first AC voltagesource and the second AC voltage source have a same peak-to-peak voltageof (|V_(max)|), the configuration of the driver circuit is such that thepeak-to-peak voltage as seen by the vibrotactile actuator is greaterthan |V_(max)|.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a perspective view of a wearable haptic device, in accordancewith an embodiment.

FIG. 2 is a schematic illustrating the driver circuit, in accordancewith an embodiment.

FIG. 3 is a flow chart illustrating a process of providing hapticfeedback responsive to a virtual touch event in a virtual space, inaccordance with an embodiment.

FIG. 4 is a block diagram of a system environment including a system, inaccordance with an embodiment.

The figures depict various embodiments for purposes of illustrationonly. One skilled in the art will readily recognize from the followingdiscussion that alternative embodiments of the structures and methodsillustrated herein may be employed without departing from the principlesdescribed herein.

DETAILED DESCRIPTION

Embodiments of the invention may include or be implemented inconjunction with an artificial reality system. Artificial reality is aform of reality that has been adjusted in some manner beforepresentation to a user, which may include, e.g., a virtual reality (VR),an augmented reality (AR), a mixed reality (MR), a hybrid reality, orsome combination and/or derivatives thereof. Artificial reality contentmay include completely generated content or generated content combinedwith captured (e.g., real-world) content. The artificial reality contentmay include video, audio, haptic feedback, or some combination thereof,and any of which may be presented in a single channel or in multiplechannels (such as stereo video that produces a three-dimensional effectto the viewer). Additionally, in some embodiments, artificial realitymay also be associated with applications, products, accessories,services, or some combination thereof, that are used to, e.g., createcontent in an artificial reality and/or are otherwise used in (e.g.,perform activities in) an artificial reality. The artificial realitysystem that provides the artificial reality content may be implementedon various platforms, including a head-mounted display (HMD) connectedto a host computer system, a standalone HMD, a mobile device orcomputing system, or any other hardware platform capable of providingartificial reality content to one or more viewer.

FIG. 1 is a perspective view of a haptic device 100, in accordance withan embodiment. In one embodiment, the haptic device comprises a glovebody 110, a vibrotactile actuator 120, a controller 130, and anelectrical pathway 140. The glove body 110 illustrated in FIG. 1 ismerely an example, and in different embodiments, the glove body 110includes fewer, more or different components than shown in FIG. 1.Additionally, in alternate embodiments, the haptic device 100 may besome other wearable haptic device.

A glove body 110 is flexible and moves with articulation of a user'shand and/or fingers. In various embodiments, the glove body 110comprises an elastomer substrate (e.g., a flexible fiber or otherflexible material such as rubber or skin) configured to bend and/or flexwith the user as the user interacts with a virtual object. For example,if the user grabs a virtual apple in a VR environment, the glove body110 is configured to deform in conjunction to the user's hand in orderto mimic a “grabbing” action. While FIG. 1 illustrates a singlevibrotactile actuator 120 on a single glove digit, in other embodiments,there can be multiple vibrotactile actuators (e.g., one or more on eachglove digit) and multiple electrical pathways. Also, in one or moreembodiments, one or more vibrotactile actuators and corresponding drivercircuits can be positioned in places on the glove body 110 in additionto and/or other than the position shown in FIG. 1. In some embodiments,the vibrotactile actuators 120 may wrap an entire glove digit of theglove body 110. Likewise, the controller 130 may be coupled to adifferent portion (e.g., to a wrist, palm, etc.) of the glove body 110that the position shown in FIG. 1.

The vibrotactile actuator 120 provides haptic feedback to a user of thehaptic device 110. The vibrotactile actuator 120 is a device thatvibrates in accordance with a drive signal provided by the controller130, and specifically by a corresponding driver circuit of thecontroller 130. The drive signal controls frequency of vibration,amplitude of vibration, some other parameter of haptic feedback, or somecombination thereof. The vibrotactile actuator 120 is coupled to thewearable material 110.

The controller 130 controls one or more vibrotactile actuators on thehaptic device 100. The controller 130 includes one or more drivercircuits that each drive at least one vibrotactile actuator. In someembodiments, the controller 130 receives a haptic feedback signal from aconsole, HMD, or some other device. The controller 130 selects a drivercircuit of the one or more driver circuits using the haptic feedbacksignal, and instructs the selected driver circuit to generate a drivesignal. The selected driver circuit generates a drive signal which isthen provided to one or more of its corresponding vibrotactile actuatorscoupled to the selected driver circuit. For example, the controller 130may select a driver circuit 150, which generates a drive signal that isprovided to the vibrotactile actuator 120 via the electrical pathway140. Additional detail regarding driver circuits is discussed in detailbelow with regard to FIGS. 2-4. Note that while FIG. 1 illustrates thedriver circuit 150 to be within the controller 130, in otherembodiments, some or all of the driver circuits may be external to thecontroller 130. For example, a driver circuit may be co-located orotherwise in close proximity to one or more of its correspondingvibrotactile actuators.

The electrical pathway 140 is a flexible conductive material thatelectrically couples electrically couples the vibrotactile actuator 120to the controller 130. The electrical pathways 140 may be a singleconductive pathway or multiple conductive pathways that are electricallycoupled together. In some embodiments, the electrical pathway 140 mayelectrically couple a plurality of vibrotactile actuators to thecontroller 130 (and specifically to their respective driver circuits).The electrical pathway 140 passes a drive signal from the controller 130to the vibrotactile actuator 120. The electrical pathway 140 may becomposed of, e.g., conductive metals, conductive plastic polymers withmetal ions, a conductor within an elastomeric shell, some other flexibleconductive material, or some combination thereof.

FIG. 2 is a schematic illustrating a driver circuit, in accordance withan embodiment. In one embodiment, the driver circuit includes analternating current (AC) commutatively coupled to a controller 200, avoltage source 210, and a component block 215.

The AC voltage source assembly 210 powers the driver circuit. The ACvoltage source assembly 210 includes a first AC voltage source 212 and asecond AC voltage source 214. The second AC voltage source 214 is theinverse of the first AC voltage source 212. The first AC voltage sourceis 180 degrees out of phase with the second AC voltage source. Inembodiments where the first AC voltage source and the second AC voltagesource have a same peak-to-peak voltage of (|V_(max)|), theconfiguration of the driver circuit is such that the peak-to-peakvoltage as seen by the vibrotactile actuator is greater than |V_(max)|,and preferably greater than 1.5*|V_(max)| for improved efficiency. Thefirst AC voltage source 212 and the second AC voltage source 214 eachhave a terminal. The terminal of the first AC voltage source 212 iselectrically coupled to the vibrotactile actuator 220, and the terminalof the second AC voltage source 214 is electrically coupled to thecapacitive element 240. The AC voltage source assembly 210 generates ACvoltage that is sufficient to power the vibrotactile actuator 220. Insome embodiments, the peak-to-peak voltage of the first AC voltagesource 212 and the second AC voltage source 214 may have a range of 0 to110 volts. The positive AC voltage source 212 and the second AC voltagesource 214 may operate at a frequency of 1 to 100 Hz. The first ACvoltage source 212 and the second AC voltage source 214 may generatearbitrary waveforms that are, for example, sinusoidal, square, triangle,etc. Note, while in FIG. 2, the AC source assembly 210 is coupled to asingle component block 215, in alternate embodiments the AC sourceassembly 210 may be coupled to multiple component blocks 315.

In one embodiment, the component block 215 includes the vibrotactileactuator 220, the regulating element 230, and the capacitive element240. The component block 215 is configured to lower the maximum voltageof the first AC voltage source 212 and the second AC voltage source 214.Because some vibrotactile actuators cannot tolerate being driven in abi-polar configuration, in some embodiments the driver circuit generatesa 0 to 180V peak-to-peak unipolar drive using two 0 to 100V peak-to-peakAC voltage sources. It is substantially more difficult to build anintegrated circuit (IC) to drive to 180V than it is to drive to 100V.Also, a driver circuit that can drive to 180V typically has a 180Vdirect current (DC) power supply instead of a 100V power supply, whichis dangerous if exposed to a user.

The configuration and operation of the vibrotactile actuator 220 aresimilar to the vibrotactile actuator 120 of FIG. 1. Therefore, thedetailed description thereof is omitted herein for the sake of brevity.

The regulating element 230 includes a first coupling point and a secondcoupling point. The first coupling point is electrically coupled to thecapacitive element 240 and the vibrotactile actuator 220, and the secondcoupling point is grounded. In one embodiment, the regulating element230 is a diode. The diode is configured to allow an electric current topass in one direction while blocking current in the opposite direction.The diode anode is electrically coupled to the capacitive element 240.The diode cathode is grounded. In another embodiment, the regulatingelement 230 is a negative DC source electrically coupled to a diode toprovide a DC bias to the vibrotactile actuator 220. The negative DCsource may have a value of at least −48 volts. In one embodiment, thevoltage between a vibrotactile actuator terminal and ground is greaterthan the voltage between either AC voltage terminal and ground.

The capacitive element 240 stores an electrical charge and includes afirst coupling point and a second coupling point. The first couplingpoint is electrically coupled to the regulating element 230 and thesecond coupling point is electrically coupled to the terminal of thenegative AC voltage source 214. In one embodiment, the capacitiveelement is a capacitor. The capacitor may have a capacitance that is atleast ten times greater than the vibrotactile actuator capacitance tomaximize the peak-to-peak voltage across the vibrotactile actuator. Ifthe ratio between the capacitor and the vibrotactile actuatorcapacitance is 10 to 1, there can be approximately 10 percent voltagelost across the capacitor. In some embodiments, the vibrotactileactuator 220 is primarily capacitive for frequencies between 10 Hz and100 Hz. This improves the efficiency of the drive circuit. An examplevibrotactile actuator that is primarily capacitive at these frequencieshas an effective capacitance of 200 nF and leakage resistance of greaterthan one megohm.

FIG. 3 is a flow chart illustrating a process of providing hapticfeedback responsive to a virtual touch event in a virtual space, inaccordance with an embodiment. In one embodiment, the process of FIG. 3is performed by a console. Other entities may perform some or all of thesteps of the process in other embodiments. Likewise, embodiments mayinclude different and/or additional steps, or perform the steps indifferent orders.

The console determines 310 a virtual touch event. In one embodiment, theconsole receives IMU data from the haptic device and/or imaging datafrom the imaging device, and then determines a hand movement. In oneapproach, the console obtains a three dimensional (3-D) map of the userhand describing coordinates of various parts of the haptic device in avirtual space corresponding to physical positions of the parts of thehaptic device in reality based on the inertial measurement unit (IMU)data and/or the imaging data. The console compares the coordinate of thevirtual object in the virtual space and the coordinate of the hapticdevice in the virtual space to determine whether a virtual touch eventoccurred. Responsive to determining the virtual touch event occurred,the console determines 320 a coordinate of a haptic apparatuscorresponding to the virtual touch event. For example, responsive to theuser pressing a plush ball in a virtual space with an index finger, theconsole determines such virtual touch event occurred, and identifies thehaptic apparatus corresponding to the index finger.

The console generates 330 a haptic feedback signal describing details ofthe haptic feedback to be provided, according to the coordinate. In oneembodiment, the haptic feedback signal indicates which vibrotactileactuator should be actuated. In alternate embodiments, the hapticfeedback signal indicates which driver circuit should be selected togenerate a drive signal. Moreover, the console transmits the hapticfeedback signal 340 to the controller. In one embodiment, the controllerselects a driver circuit of the one or more driver circuits using thehaptic feedback signal and instructs the selected driver circuit togenerate a drive signal. The selected driver circuit generates a drivesignal which is then provided to one or more of its correspondingvibrotactile actuators coupled to the selected driver circuit.

The vibrotactile actuator receives the drive signal, and then provideshaptic feedback to the user according to the drive signal. In theembodiment in which the haptic feedback signal identifies a vibrotactileactuator and an amount of actuation, the controller actuates thevibrotactile actuator as identified by the haptic feedback signal, asdescribed in detail with respect to FIGS. 1 through 2. In the embodimentin which the haptic feedback signal identifies a driver circuit, thecontroller 130 instructs the identified driver circuit to generate adrive signal which is then provided to its corresponding vibrotactileactuator, as described in detail with respect to FIGS. 1 through 2.

FIG. 4 is a block diagram of an artificial reality system 400 inaccordance with an embodiment. The system 400 shown by FIG. 4 comprisesa headset 405, a console 410, an imaging device 435, and a hapticassembly 440. While FIG. 4 shows an example system 400 including oneheadset 405, one imaging device 435, and one haptic assembly 440 (e.g.,a haptic glove), in other embodiments any number of these components maybe included in the system 400. For example, there may be multipleheadsets 405 each having an associated haptic assembly 440 and beingmonitored by one or more imaging devices 435, with each headset 405,haptic assembly 440, and imaging devices 435 communicating with theconsole 410. In alternative configurations, different and/or additionalcomponents may be included in the system environment 400. Similarly, thefunctions can be distributed among the components in a different mannerthan is described here. For example, some or all of the functionality ofthe console 410 may be contained within the headset 405.

The headset 405 is a head-mounted display that presents media to a user.Examples of media presented by the headset include one or more images,video, audio, or any combination thereof. In some embodiments, audio ispresented via an external device (e.g., speakers and/or headphones) thatreceives audio information from the headset 405, the console 410, orboth, and presents audio data based on the audio information. In someembodiments, the headset 405 may also act as an augmented reality (AR)headset. In these embodiments, the headset 405 augments views of aphysical, real-world environment with computer-generated elements (e.g.,images, video, sound, etc.).

The headset 405 includes an electronic display 415, an optics block 418,one or more locators 420, one or more position sensors 425, and aninertial measurement unit (IMU) 430.

The electronic display 415 displays images to the user in accordancewith data received from the console 410. In one embodiment, theelectronic display 415 displays images by emitting light. In anotherembodiment, the electronic display 415 displays images by modulatingavailable light during a process of reflection or transmission. Theelectronic display may be a liquid crystal display (LCD), for example.

The optics block 418 magnifies received light from the electronicdisplay 415, corrects optical errors associated with the image light,and the corrected image light is presented to a user of the headset 405.An optical element may be an aperture, a Fresnel lens, a convex lens, aconcave lens, a filter, or any other suitable optical element thataffects the image light emitted from the electronic display 415.Moreover, the optics block 418 may include combinations of differentoptical elements. In some embodiments, one or more of the opticalelements in the optics block 418 may have one or more coatings, such asanti-reflective coatings.

The locators 420 are objects located in specific positions on theheadset 405 relative to one another and relative to a specific referencepoint of the headset 405 on the headset 405. A locator 420 may be alight emitting diode (LED), a corner cube reflector, a reflectivemarker, a type of light source that contrasts with an environment inwhich the headset 405 operates, or some combination thereof. Inembodiments where the locators 420 are active (i.e., an LED or othertype of light emitting device), the locators 420 may emit light in thevisible band (˜380 nm to 750 nm), in the infrared (IR) band (˜750 nm to1 mm), in the ultraviolet band (10 nm to 380 nm), some other portion ofthe electromagnetic spectrum, or some combination thereof.

In some embodiments, the locators 420 are located beneath an outersurface of the headset 405, which is transparent to the wavelengths oflight emitted or reflected by the locators 420 or is thin enough not tosubstantially attenuate the wavelengths of light emitted or reflected bythe locators 420. Additionally, in some embodiments, the outer surfaceor other portions of the headset 405 are opaque in the visible band ofwavelengths of light. Thus, the locators 420 may emit light in the IRband under an outer surface that is transparent in the IR band butopaque in the visible band.

The IMU 430 is an electronic device that generates IMU data of theheadset 405 based on measurement signals received from one or more ofthe position sensors 425. A position sensor 425 generates one or moremeasurement signals in response to motion of the headset 405. Examplesof position sensors 425 include: one or more accelerometers, one or moregyroscopes, one or more magnetometers, another suitable type of sensorthat detects motion, a type of sensor used for error correction of theIMU 430, or some combination thereof. The position sensors 425 may belocated external to the IMU 430, internal to the IMU 430, or somecombination thereof.

Based on the one or more measurement signals from one or more positionsensors 425, the IMU 430 generates IMU data of the headset 405indicating an estimated position of the headset 405 relative to aninitial position of the headset 405. For example, the position sensors425 include multiple accelerometers to measure translational motion(forward/back, up/down, left/right) and multiple gyroscopes to measurerotational motion (e.g., pitch, yaw, roll) of the headset 405. In someembodiments, the IMU 430 rapidly samples the measurement signals andcalculates the estimated position of the headset 405 from the sampleddata. For example, the IMU 430 integrates the measurement signalsreceived from the accelerometers over time to estimate a velocity vectorand integrates the velocity vector over time to determine an estimatedposition of a reference point of the headset 405 on the headset 405.Alternatively, the IMU 430 provides the sampled measurement signals tothe console 410, which determines the IMU data of the headset 405. Thereference point of the headset 405 is a point that may be used todescribe the position of the headset 405. While the reference point ofthe headset 405 may generally be defined as a point in space; however,in practice the reference point of the headset 405 is defined as a pointwithin the headset 405 (e.g., a center of the IMU 430).

The IMU 430 receives one or more calibration parameters of the headset405 from the console 410. As further discussed below, the one or morecalibration parameters of the headset 405 are used to maintain trackingof the headset 405. Based on a received calibration parameter of theheadset 405, the IMU 430 may adjust one or more IMU parameters (e.g.,sample rate). In some embodiments, certain calibration parameters of theheadset 405 cause the IMU 430 to update an initial position of thereference point of the headset 405 so it corresponds to a nextcalibrated position of the reference point of the headset 405. Updatingthe initial position of the reference point of the headset 405 as thenext calibrated position of the reference point of the headset 405 helpsreduce accumulated error associated with the determined estimatedposition. The accumulated error, also referred to as drift error, causesthe estimated position of the reference point of the headset 405 to“drift” away from the actual position of the reference point of theheadset 405 over time.

The haptic assembly 440 is an apparatus for providing haptic feedback tothe user. The haptic assembly 440 includes locators 470, one or moreposition sensors 475, an inertial measurement unit (IMU) 480. In someembodiments, the locators 470, one or more position sensors 475, aninertial measurement unit (IMU) 480 are employed to determine a positionor movement of the haptic assembly 440. The haptic assembly 440 provideshaptic feedback to a user in accordance with the haptic feedback signalreceived from the console 410.

In one embodiment, the haptic feedback signal indicates a position or aportion of the haptic assembly 440 to be actuated for providing hapticfeedback.

In another embodiment, the haptic feedback signal indicates a drivercircuit for providing a drive signal. In this embodiment, the drivesignal is provided to a corresponding vibrotactile actuator that is tobe actuated. The haptic assembly 440 provides haptic feedback to a userat the position or portion of the haptic assembly 440 (i.e. thevibrotactile actuator) according to the haptic feedback signal.

The locators 470 are objects located in specific positions on the hapticassembly 440 relative to one another and relative to a specificreference point of the haptic assembly 440 on the haptic assembly 440. Alocator 470 is substantially similar to a locator 420 except that alocator 470 is part of the haptic assembly 440. Additionally, in someembodiments, the outer surface or other portions of the haptic assembly440 are opaque in the visible band of wavelengths of light. Thus, thelocators 470 may emit light in the IR band under an outer surface thatis transparent in the IR band but opaque in the visible band.

A position sensor 475 generates one or more measurement signals inresponse to motion of the haptic assembly 440. The position sensors 475are substantially similar to the positions sensors 425, except that theposition sensors 475 are part of the haptic assembly 440. The positionsensors 475 may be located external to the IMU 480, internal to the IMU480, or some combination thereof.

Based on the one or more measurement signals from one or more positionsensors 475, the IMU 480 generates IMU data of the haptic assembly 440indicating an estimated position of the haptic assembly 440 relative toan initial position of the haptic assembly 440. For example, theposition sensors 475 include multiple accelerometers to measuretranslational motion (forward/back, up/down, left/right) and multiplegyroscopes to measure rotational motion (e.g., pitch, yaw, roll) of thehaptic assembly 440. In some embodiments, the IMU 480 rapidly samplesthe measurement signals and calculates the estimated position of thehaptic assembly 440 from the sampled data. For example, the IMU 480integrates the measurement signals received from the accelerometers overtime to estimate a velocity vector and integrates the velocity vectorover time to determine an estimated position of a reference point of thehaptic assembly 440. Alternatively, the IMU 480 provides the sampledmeasurement signals to the console 410, which determines the IMU data ofthe haptic assembly 440. The reference point of the haptic assembly 440is a point that may be used to describe the position of the hapticassembly 440. While the reference point of the haptic assembly 440 maygenerally be defined as a point in space; however, in practice thereference point of the haptic assembly 440 is defined as a point withinthe haptic assembly 440 (e.g., a center of the IMU 480).

The IMU 480 receives one or more calibration parameters of the hapticassembly 440 from the console 410. As further discussed below, the oneor more calibration parameters of the haptic assembly 440 are used tomaintain tracking of the haptic assembly 440. Based on a receivedcalibration parameter of the haptic assembly 440, the IMU 480 may adjustone or more IMU parameters (e.g., sample rate). In some embodiments,certain calibration parameters of the haptic assembly 440 cause the IMU480 to update an initial position of the reference point of the hapticassembly 440 so it corresponds to a next calibrated position of thereference point of the haptic assembly 440. Updating the initialposition of the reference point of the haptic assembly 440 as the nextcalibrated position of the reference point of the haptic assembly 440helps reduce accumulated error associated with the determined estimatedposition.

The haptic assembly 440 includes a haptic device through which theconsole 410 can detect a user hand movement and provide tactileperception to the user hand. The haptic device includes one or moredriver circuits that are coupled to one or more vibrotactile actuators.In some embodiments, the haptic device is the haptic device 100. Thehaptic device receives a haptic feedback signal indicating a drivercircuit and its corresponding vibrotactile actuator from the console410, and then provides haptic feedback to the user accordingly, asdescribed in detail with respect to FIGS. 2 through 4.

The imaging device 435 generates imaging data in accordance withcalibration parameters received from the console 410. Imaging data(herein also referred to as “imaging information”) of the headsetincludes one or more images showing observed positions of the locators420 associated with the headset 405 that are detectable by the imagingdevice 435. Similarly, imaging data of the haptic assembly 440 includesone or more images showing observed positions of the locators 470associated with the haptic assembly 440 that are detectable by theimaging device 435. In one aspect, the imaging data includes one or moreimages of both the headset 405 and haptic assembly 440. The imagingdevice 435 may include one or more cameras, one or more video cameras,any other device capable of capturing images including one or more ofthe locators 420 and 470, or any combination thereof. Additionally, theimaging device 435 may include one or more filters (e.g., used toincrease signal to noise ratio). The imaging device 435 is configured todetect light emitted or reflected from locators 420 and 470 in a fieldof view of the imaging device 435. In embodiments where the locators 420and 470 include passive elements (e.g., a retroreflector), the imagingdevice 435 may include a light source that illuminates some or all ofthe locators 420 and 470, which retro-reflect the light towards thelight source in the imaging device 435. Imaging data is communicatedfrom the imaging device 435 to the console 410, and the imaging device435 receives one or more calibration parameters from the console 410 toadjust one or more imaging parameters (e.g., focal length, focus, framerate, ISO, sensor temperature, shutter speed, aperture, etc.).

The console 410 provides media to the headset 405 for presentation tothe user in accordance with information received from one or more of:the imaging device 435, the headset 405, and the haptic assembly 440. Inthe example shown in FIG. 4, the console 410 includes a tracking module450 and an engine 455. Some embodiments of the console 410 havedifferent modules than those described in conjunction with FIG. 4.Similarly, the functions further described below may be distributedamong components of the console 410 in a different manner than isdescribed here.

The tracking module 450 calibrates the system 400 using one or morecalibration parameters and may adjust one or more calibration parametersto reduce error in determination of the position of the headset 405and/or the haptic assembly 440.

The tracking module 450 tracks movements of the headset 405 usingimaging information of the headset 405 from the imaging device 435. Thetracking module 450 determines positions of a reference point of theheadset 405 using observed locators from the imaging information and amodel of the headset 405. The tracking module 450 also determinespositions of a reference point of the headset 405 using positioninformation from the IMU information of the headset 405. Additionally,in some embodiments, the tracking module 450 may use portions of the IMUinformation, the imaging information, or some combination thereof of theheadset 405, to predict a future location of the headset 405. Thetracking module 450 provides the estimated or predicted future positionof the headset 405 to the engine 455.

In addition, the tracking module 450 tracks movements of the hapticassembly 440 using imaging information of the haptic assembly 440 fromthe imaging device 435. The tracking module 450 determines positions ofa reference point of the haptic assembly 440 using observed locatorsfrom the imaging information and a model of the haptic assembly 440. Thetracking module 450 also determines positions of a reference point ofthe haptic assembly 440 using position information from the IMUinformation of the haptic assembly 440. Additionally, in someembodiments, the tracking module 450 may use portions of the IMUinformation, the imaging information, or some combination thereof of thehaptic assembly 440, to predict a future location of the haptic assembly440. The tracking module 450 provides the estimated or predicted futureposition of the haptic assembly 440 to the engine 455.

The engine 455 executes applications within the system environment 400and receives position information, acceleration information, velocityinformation, predicted future positions, or some combination thereof ofthe headset 405 from the tracking module 450. Based on the receivedinformation, the engine 455 determines content to provide to the headset405 for presentation to the user. For example, if the receivedinformation indicates that the user has looked to the left, the engine455 generates content for the headset 405 that mirrors the user'smovement in a virtual environment. Additionally, the engine 455 performsan action within an application executing on the console 410 in responseto detecting a motion of the haptic assembly 440 and provides feedbackto the user that the action was performed. In one example, the engine455 instructs the headset 405 to provide visual or audible feedback tothe user. In another example, the engine 455 instructs the hapticassembly 440 to provide haptic feedback to the user.

In addition, the engine 455 receives position information, accelerationinformation, velocity information, predicted future positions, or somecombination thereof of the haptic assembly 440 from the tracking module450 and determines whether a virtual touch event occurred. A virtualtouch even herein refers to an event of a user contacting a virtualobject in a virtual space. For example, an image of a virtual object ispresented to the user on the headset 405. Meanwhile, the engine 455collectively analyzes positions of multiple sensors of the hapticassembly 440 through the tracking module 450, and generates a threedimensional mapping of the haptic assembly 440 describing the positionand the shape of the haptic assembly 440. The three dimensional mappingof the haptic assembly 440 describes coordinates of various parts of thehaptic assembly 440 in a virtual space corresponding to physicalpositions of the parts of the haptic assembly 440 in reality. Responsiveto the user performing an action to grab the virtual object or the userbeing contacted by the virtual object, the engine 455 determines thatthe virtual touch event occurred.

In one embodiment, the engine 455 compares coordinates of a virtualobject and a coordinate of the haptic assembly 440 in a virtual space todetermine whether a virtual touch event occurred. The engine 455 obtainsa coordinate of the virtual object in a virtual space, in accordancewith an image presented via the headset 405. Additionally, the engine455 obtains a coordinate of the haptic assembly 440 (e.g., haptic glove)corresponding to a physical position of the VR haptic assembly 440 fromthe tracking module 450 or the three dimensional mapping of the hapticassembly 440. Then, the engine 455 compares the coordinate of thevirtual object in the virtual space and the coordinate of the hapticassembly 440 in the virtual space. For example, if two coordinates ofthe virtual object and the haptic assembly 440 overlap or areapproximate to each other within a predetermined distance for apredetermined amount of time (e.g., 1 second), the console 410determines the virtual touch event occurred.

In one embodiment, the engine 455 generates a haptic feedback signalresponsive to the virtual touch event detected. In one aspect, thehaptic feedback signal indicates which portion (e.g., a coordinate or aposition) of the haptic assembly 440 to provide haptic feedback. Theengine 455 provides the haptic feedback signal to the haptic assembly440 for executing the haptic feedback.

Additional Configuration Information

The foregoing description of the embodiments of the disclosure has beenpresented for the purpose of illustration; it is not intended to beexhaustive or to limit the disclosure to the precise forms disclosed.Persons skilled in the relevant art can appreciate that manymodifications and variations are possible in light of the abovedisclosure.

Some portions of this description describe the embodiments of thedisclosure in terms of algorithms and symbolic representations ofoperations on information. These algorithmic descriptions andrepresentations are commonly used by those skilled in the dataprocessing arts to convey the substance of their work effectively toothers skilled in the art. These operations, while describedfunctionally, computationally, or logically, are understood to beimplemented by computer programs or equivalent electrical circuits,microcode, or the like. Furthermore, it has also proven convenient attimes, to refer to these arrangements of operations as modules, withoutloss of generality. The described operations and their associatedmodules may be embodied in software, firmware, hardware, or anycombinations thereof.

Any of the steps, operations, or processes described herein may beperformed or implemented with one or more hardware or software modules,alone or in combination with other devices. In one embodiment, asoftware module is implemented with a computer program productcomprising a computer-readable medium containing computer program code,which can be executed by a computer processor for performing any or allof the steps, operations, or processes described.

Embodiments of the disclosure may also relate to an apparatus forperforming the operations herein. This apparatus may be speciallyconstructed for the required purposes, and/or it may comprise ageneral-purpose computing device selectively activated or reconfiguredby a computer program stored in the computer. Such a computer programmay be stored in a non-transitory, tangible computer readable storagemedium, or any type of media suitable for storing electronicinstructions, which may be coupled to a computer system bus.Furthermore, any computing systems referred to in the specification mayinclude a single processor or may be architectures employing multipleprocessor designs for increased computing capability.

Embodiments of the disclosure may also relate to a product that isproduced by a computing process described herein. Such a product maycomprise information resulting from a computing process, where theinformation is stored on a non-transitory, tangible computer readablestorage medium and may include any embodiment of a computer programproduct or other data combination described herein.

Finally, the language used in the specification has been principallyselected for readability and instructional purposes, and it may not havebeen selected to delineate or circumscribe the inventive subject matter.It is therefore intended that the scope of the disclosure be limited notby this detailed description, but rather by any claims that issue on anapplication based hereon. Accordingly, the disclosure of the embodimentsis intended to be illustrative, but not limiting, of the scope of thedisclosure, which is set forth in the following claims.

What is claimed is:
 1. A haptic glove comprising: a glove bodyconfigured to cover a hand; a vibrotactile actuator coupled to the glovebody and configured to provide haptic feedback in accordance with adrive signal; a driver circuit that is electrically coupled to thevibrotactile actuator and is configured to provide the drive signal tothe vibrotactile actuator, the driver circuit comprising: an alternatingcurrent (AC) voltage source assembly that includes a first AC voltagesource and a second AC voltage source, each having a terminal, whereinthe terminal of the first AC voltage source is electrically coupled tothe vibrotactile actuator, a capacitive element electrically coupled tothe terminal of the second AC voltage source, and a regulating elementthat includes a first coupling point and a second coupling point, thefirst coupling point is electrically coupled to the capacitive elementand the vibrotactile actuator, and the second coupling point isgrounded.
 2. The haptic glove according to claim 1, wherein the voltagebetween a vibrotactile actuator terminal and ground is greater than thevoltage between either AC voltage terminal and ground.
 3. The hapticglove according to claim 1, wherein the regulating element is a diode.4. The haptic glove according to claim 1, wherein the regulating elementis a negative DC source electrically coupled to a diode.
 5. The hapticglove according to claim 4, wherein the negative DC source provides a DCbias to the vibrotactile actuator.
 6. The haptic glove according toclaim 4, wherein the negative DC source has a value of at least −48volts.
 7. The haptic glove according to claim 4, wherein the voltagebetween a vibrotactile actuator terminal and ground is greater than thevoltage between either AC voltage terminal and ground.
 8. A wearablehaptic device comprising: a wearable material configured to cover a bodypart of a user; a vibrotactile actuator coupled to the wearable materialand configured to provide haptic feedback in accordance with a drivesignal; a driver circuit that is electrically coupled to thevibrotactile actuator and is configured to provide the drive signal tothe vibrotactile actuator, the driver circuit comprising: an alternatingcurrent (AC) voltage source assembly that includes a first AC voltagesource and a second AC voltage source, each having a terminal, whereinthe terminal of the first AC voltage source is electrically coupled tothe vibrotactile actuator, a capacitive element electrically coupled tothe terminal of the second AC voltage source, and a regulating elementthat includes a first coupling point and a second coupling point, thefirst coupling point is electrically coupled to the capacitive elementand the vibrotactile actuator, and the second coupling point isgrounded.
 9. The wearable haptic device according to claim 8, whereinthe voltage between a vibrotactile actuator terminal and ground isgreater than the voltage between either AC voltage terminal and ground.10. The wearable haptic device according to claim 8, wherein theregulating element is a diode.
 11. The wearable haptic device accordingto claim 8, wherein the regulating element is a negative DC sourceelectrically coupled to a diode.
 12. The wearable haptic deviceaccording to claim 11, wherein the negative DC source provides a DC biasto the vibrotactile actuator.
 13. The wearable haptic device accordingto claim 11, wherein the voltage between a vibrotactile actuatorterminal and ground is greater than the voltage between either ACvoltage terminal and ground.
 14. A driver circuit comprising: analternating current (AC) voltage source assembly that includes a firstAC voltage source and a second AC voltage source, each having aterminal, wherein the terminal of the first AC voltage source iselectrically coupled to a vibrotactile actuator, a capacitive elementelectrically coupled to the terminal of the second AC voltage source,and a regulating element that includes a first coupling point and asecond coupling point, the first coupling point is electrically coupledto the capacitive element and the vibrotactile actuator, and the secondcoupling point is grounded, wherein the driver circuit is configured toprovide a drive signal to the vibrotactile actuator.
 15. The drivercircuit according to claim 14, wherein the voltage between avibrotactile actuator terminal and ground is greater than the voltagebetween either AC voltage terminal and ground.
 16. The driver circuitaccording to claim 14, wherein the regulating element is a diode. 17.The driver circuit according to claim 14, wherein the regulating elementis a negative DC source electrically coupled to a diode.
 18. The drivercircuit according to claim 17, wherein the negative DC source provides aDC bias to the vibrotactile actuator.
 19. The driver circuit accordingto claim 17, wherein the negative DC source has a value of at least −48volts.
 20. The haptic glove according to claim 17, wherein the voltagebetween a vibrotactile actuator terminal and ground is greater than thevoltage between either AC voltage terminal and ground.